package tt.dz.common;

import java.io.Serializable;
import java.util.List;

import tt.dz.entity.UserMember;

/**
 * 分页帮助类
 * @author Xielf
 *
 * @param <T>
 */
@SuppressWarnings("unused")
public final class PageModel<T> implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private Integer pageSize; //页面显示的记录条数
	private Integer pageNo; //当前页码
	private String className; //使用DWR动态生成js的名字
	private String where; //查询分页的条件
	private String method; //分页方法
	private int totalPages; // 总页数
	private int indexPageNo; // 首页
	private int lastPageNo; // 尾页
	private int totalRecords; // 总记录条数
	private List<T> data; // 页面数据的集合
	private int previousPageNo=1;//上一页
	private int nextPageNo=1;//下一页
	
	
	
	public PageModel(Integer pageSize, Integer pageNo) {
		this.pageSize = pageSize;
		this.pageNo = pageNo;
	}
	public PageModel(Integer pageSize, Integer pageNo,String where) {
		this.pageSize = pageSize;
		this.pageNo = pageNo;
		this.where=where;
	}
	public PageModel() {}
	
	/**
	 * 上一页
	 * 
	 * @return
	 */
	public int getPreviousPageNo() {
		if (pageNo <= 1) {
			return 1;
		}
		return pageNo - 1;
	}

	/**
	 * 下一页
	 * 
	 * @return
	 */
	public int getNextPageNo() {
		if (pageNo >= lastPageNo) {
			return lastPageNo;
		}
		return pageNo + 1;
	}
	
	public void setPreviousPageNo(int previousPageNo) {
		this.previousPageNo = previousPageNo;
	}
	public void setNextPageNo(int nextPageNo) {
		this.nextPageNo = nextPageNo;
	}
	public String getClassName() {
		return className;
	}
	public void setClassName(String className) {
		this.className = className;
	}
	public String getWhere() {
		return where;
	}
	public void setWhere(String where) {
		this.where = where;
	}
	public String getMethod() {
		return method;
	}
	public void setMethod(String method) {
		this.method = method;
	}
	
	public Integer getPageSize() {
		return pageSize;
	}

	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

	public Integer getPageNo() {
		return pageNo;
	}

	public void setPageNo(Integer pageNo) {
		this.pageNo = pageNo;
	}

	public int getTotalPages() {
		return totalPages;
	}

	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}

	public int getIndexPageNo() {
		return indexPageNo;
	}

	public void setIndexPageNo(int indexPageNo) {
		this.indexPageNo = indexPageNo;
	}

	public int getLastPageNo() {
		return lastPageNo;
	}

	public void setLastPageNo(int lastPageNo) {
		this.lastPageNo = lastPageNo;
	}

	public int getTotalRecords() {
		return totalRecords;
	}

	public void setTotalRecords(int totalRecords) {
		this.totalRecords = totalRecords;
	}

	public List<T> getData() {
		return data;
	}

	public void setData(List<T> data) {
		this.data = data;
	}
}
